/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.com.cotelasa.scp.controlador.converter;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
import javax.inject.Inject;
import org.springframework.stereotype.Component;
import pe.com.cotelasa.scp.dominio.excepcion.ServiceException;
import pe.com.cotelasa.scp.dominio.service.IServicioTipoMoneda;
import pe.com.cotelasa.scp.entidad.TipoMoneda;

/**
 *
 * @author WINDOWS 7
 */
@FacesConverter(value = "tipoMonedaConverter")
@Component("tipoMonedaConverter")
public class TipoMonedaConverter implements Converter {

    @Inject
    private IServicioTipoMoneda servicioTipoMoneda;

    @Override
    public Object getAsObject(FacesContext fc, UIComponent uic, String nombre) {
        try {
            return servicioTipoMoneda.buscarMonedaPorNombre(nombre);
        } catch (ServiceException exception) {
            throw new ConverterException(new FacesMessage(
                    FacesMessage.SEVERITY_ERROR, "Conversion Error",
                    "No valido Proveedor"));
        }

    }

    @Override
    public String getAsString(FacesContext fc, UIComponent uic, Object o) {

        if (o == null || o.equals("")) {
            return "";
        } else {
            return String.valueOf(((TipoMoneda) o).getNombre());
        }
    }
}
